11.6. Examples

The following are examples of URLs used to retrieve Freebusy data for a user:

EXAMPLE 1
http://www.example.com/freebusy/user1@example.com?
start=2007-09-01T00:00:00-08:00&end=2007-09-31T00:00:00-08:00

http://www.example.com/freebusy/user1@example.com?
start=2007-09-01T00:00:00-08:00&end=2007-09-31T00:00:00-08:00

http://www.example.com/freebusy/user1@example.com

http://www.example.com/freebusy?user=user%201@example.com&
start=2008-01-01T00:00:00Z&end=2008-12-31T00:00:00Z

Some Request/Response Examples:

EXAMPLE 2 — A URL with no query parameters
>> Request <<
GET /freebusy/bernard/ HTTP/1.1
Host: www.example.com

>> Response <<
HTTP/1.1 200 OK
Content-Type: application/xml+calendar; charset="utf-8"
Content-Length: xxxx

<xc:icalendar xmlns:xc="urn:ietf:params:xml:ns:icalendar-2.0">
  <xc:vcalendar>
    <xc:properties>
      <xc:calscale><text>GREGORIAN</text></xc:calscale>
      <xc:prodid>
        <xc:text>-//Example Inc.//Example Calendar//EN</xc:text>
      </xc:prodid>
      <xc:version><xc:text>2.0</xc:text></xc:version>
    </xc:properties>
    <xc:components>
      <xc:vfreebusy>
        <xc:properties>
          <xc:uid>
            <xc:text>76ef34-54a3d2@example.com</xc:text>
          </xc:uid>
          <xc:dtstart>
            <xc:date-time>20060101T000000Z</xc:date-time>
          </xc:dtstart>
          <xc:dtend>
            <xc:date-time>20060108T000000Z</xc:date-time>
          </xc:dtend>
          <xc:dtstamp>
            <xc:date-time>20050530T123421Z</xc:date-time>
          </xc:dtstamp>
          <xc:freebusy>
            <xc:parameters>
              <xc:fbtype>BUSYTENTATIVE<xc:fbtype>
            <xc:parameters>
            <xc:period>20060102T100000Z/20060102T120000Z</xc:period>
          </xc:freebusy>
          <xc:freebusy>
            <xc:period>20060103T100000Z/20060103T120000Z</xc:period>
          </xc:freebusy>
          <xc:freebusy>
            <xc:period>20060104T100000Z/20060104T120000Z</xc:period>
          </xc:freebusy>
          <xc:freebusy>
            <xc:parameters>
              <xc:fbtype>BUSYUNAVAILABLE<xc:fbtype>
            <xc:parameters>
            <xc:period>20060105T100000Z/20060105T120000Z</xc:period>
          </xc:freebusy>
          <xc:freebusy>
            <xc:period>20060106T100000Z/20060106T120000Z</xc:period>
          </xc:freebusy>
        </xc:vfreebusy>
      </xc:components>
    </xc:vcalendar>
<xc:icalendar>
EXAMPLE 3 — A URL with start and end parameters
>> Request <<
GET /freebusy/user1@example.com?start=2007-09-01T00:00:00-08:00&end=2007-09-31T00:00:00-
08:00
HTTP/1.1
Host: www.example.com

>> Response <<
HTTP/1.1 200 OK
Content-Type: application/xml+calendar; charset="utf-8"
Content-Length: xxxx

<xc:icalendar xmlns:xc="urn:ietf:params:xml:ns:icalendar-2.0">
  <xc:vcalendar>
    <xc:properties>
       <xc:calscale><text>GREGORIAN</text></xc:calscale>
       <xc:prodid>
         <xc:text>-//Example Inc.//Example Calendar//EN</xc:text>
       </xc:prodid>
       <xc:version><xc:text>2.0</xc:text></xc:version>
     </xc:properties>
     <xc:components>
       <xc:vfreebusy>
         <xc:properties>
           <xc:uid>
             <xc:text>76ef34-54a3d2@example.com</xc:text>
           </xc:uid>
           <xc:dtstart>
             <xc:date-time>20070901T000000Z</xc:date-time>
           </xc:dtstart>
           <xc:dtend>
             <xc:date-time>20070931T000000Z</xc:date-time>
           </xc:dtend>
           <xc:dtstamp>
             <xc:date-time>20050530T123421Z</xc:date-time>
           </xc:dtstamp>
           <xc:freebusy>
             <xc:period>20070915T230000Z/20070916T010000Z</xc:period>
           </xc:freebusy>
         </xc:vfreebusy>
       </xc:components>
     </xc:vcalendar>
<xc:icalendar>
EXAMPLE 4 — A URL for which the server does not have any data for that user
>> Request <<
GET /freebusy/user1@example.com?start=2012-12-01T00:00:00-08:00&end=2012-12-31T00:00:00-
08:00
HTTP/1.1
Host: www.example.com

>> Response <<
HTTP/1.1 404 No data